package com.cdn.website.service;

public interface EdgeSyncService {

    /**
     * 异步同步源站内容到 CDN 边缘节点
     *
     * @param originAddress 源站地址
     * @param domain 域名
     * @param port 源站端口
     */
    public void asyncSyncContentToNode(String originAddress, String domain, int port);

    /**
     * 同步源站内容到 CDN 边缘节点
     *
     * @param originAddress 源站地址
     * @param domain 域名
     * @param port 源站端口
     */
    public void syncContentToCdn(String originAddress, String domain, int port);

    /**
     * 获取源站内容
     *
     * @param originAddress 源站地址
     * @param domain 域名
     * @param port 源站端口
     * @return 获取的内容
     */
    public String fetchContentFromOrigin(String originAddress, String domain, int port);

    /**
     * 将源站内容推送到 CDN 边缘节点
     *
     * @param contentData 源站内容
     */
    public void pushContentToNode(String contentData);
}
